import { getDB } from "../../utils/db/mysql";
import cheerio from "cheerio"; //为了获取部分文本
// 创建一个Date对象，它将自动设置为当前时间
const currentDate = new Date();

// 获取年份
const year = currentDate.getFullYear();

// 获取月份（注意：月份是从0开始的，所以我们需要加1）
const month = currentDate.getMonth() + 1;

// 获取日期
const date = currentDate.getDate();

// 如果月份或日期是单个数字，前面补0
const formattedMonth = month < 10 ? month : month;
const formattedDate = date < 10 ? date : date;

// 组合成年月日的格式
const formattedDateStr_year_mounth = `${year}/${formattedMonth}`; //数据库第一个datatime，只取年月
const formattedDateStr_year_mounth_day = `${year}/${formattedMonth}/${formattedDate}`; //数据库第一个datatime，只取年月日
const formattedDateStr_mounth_day = `${formattedMonth}月${formattedDate},${year}`; //数据库第一个datatime，只取月日

// console.log(formattedDateStr_year_mounth); // 输出类似于：2024/4
// console.log(formattedDateStr_year_mounth_day); // 输出类似于：2024/4/16
// console.log(formattedDateStr_mounth_day); // 输出类似于：4/16,2024

export default defineEventHandler(async (event) => {
  let con = getDB();
  let body = await readBody(event);
  let { title, content, classify } = body; //获取传参
  /////////////对content进行过滤
  const $ = cheerio.load(content);
  // 找到所有的<p>标签
  const paragraphs = $("p");
  let contenttext = ""; //空文本接收
  // 遍历<p>标签并提取文本内容
  paragraphs.each((index, element) => {
    const text = $(element).text().trim(); // trim()用于去除前后空白字符
    console.log(text, "过滤后的文本"); // 输出: 草泥马
    contenttext = text;
  });
  if (contenttext.length > 100) {
    contenttext = contenttext.substring(0, 100) + "[...]";
  }
  //content 对象，需要放到数据库
  let contentObj = {
    title: title, //标题
    data: formattedDateStr_mounth_day, //时间
    content: contenttext, //短文本，时间
  };
  let routekey = formattedDateStr_year_mounth_day + title;

  let [data] = await con.query(
    `INSERT INTO pigeonholelist (datatime, content , sort) VALUES (?,?,?)`,
    [formattedDateStr_year_mounth, JSON.stringify(contentObj), 1]
  );
  let result = await con.query(
    `INSERT INTO pigeonhole_item (datatime, routekey , content) VALUES (?,?,?)`,
    [formattedDateStr_year_mounth, routekey, content]
  );
  if (classify.classvalue != "") {
    let classifyresult = await con.query(
      `INSERT INTO classifylist (classifyName, content , sort) VALUES (?,?,?)`,
      [classify.classvalue, JSON.stringify(contentObj), classify.classsort]
    );
  }
  // console.log(result,'shb');

  //释放连接
  await con.end();
  return {
    code: 2000,
    message: "添加成功",
  };
});
